typedef void (*Inst_t)();

typedef struct Symbol_s { /* Symbol table entry */
	char*	ptr_cname;		/* Symbol Name */
	short	itype;			/* Symbol Type */
	short datatype;		/*INT,FLOAT,BOOL,CHAR*/
	union {
		double		dval;					/* if VAR or UNDEF */
		double		(*ptr_dfunc)(double);	/* if BLTIN */
		Inst_t		*defn;					/* if FUNCTION or PROCEDURE */
		char		*ptr_cstring;			/* if STRING */
		int			ival; /* if INT */
		float			fval; /* if FLOAT */
		char			cval; /* if CHAR */
		bool			bval; /* if BOOLEAN */
	} u;
	struct Symbol_s* ptr_next;	/* Link to next symbol */
} Symbol_t;

/* Functions provided by hoc.c */
extern void execerror(const char*, const char*);
extern int nextfile();
